#ifndef AVALON_IOEXCEPTION_HPP
#define AVALON_IOEXCEPTION_HPP
#include <stdexcept>
#include <boost/exception/exception.hpp>
#include "Avalon/IO/IO.hpp"

namespace Avalon {
namespace IO {

  /*! \class IOException
   *  \brief Signals that an error occurred while performing an IO operation.
   */
  class IOException : public std::runtime_error, public boost::exception {
    public:

      //! Constructs an IOException.
      /*!
        \param message A message describing the error.
      */
      IOException(const std::string& message);

      virtual ~IOException() throw();
  };
}
}

#endif // AVALON_IOEXCEPTION_HPP
